-
-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added CWLObjectType named union #220
Conversation
0327a00
to
85a0cb5
Compare
9ec138c
to
fb45d9b
Compare
9a2db2e
to
4347588
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4347588
to
7ab983b
Compare
✅ Deploy Preview for cwl-v1-2-dev ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
c429277
to
c4d16f8
Compare
d9cedc6
to
045c942
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me, thanks! We will need @tetron 's approval; and I still need to check the codegen & schema-salad changes
Introducing this to metaschema_base.yml means introducing new features to CWL, as Michael noted and as I noted over here common-workflow-language/schema_salad#672 (review) Also, copying a note of that same ticket: From the Introduction to 1.2: "inherited records can narrow the types of fields if those fields are re-specified with a matching jsonldPredicate." I forgot that we did that, but that might mean there is a way to exclude MapSchema and UnionSchema from polluting the CWL 1.2 spec. If not, I think this needs to be a 1.3 change. |
@mr-c could you please take a quick look to the rendered doc and the directives just to check if you agree that there is something not working as expected? Because, if yes, maybe we can defer these directives to a future PR, after we fix the overall behaviour of this part of Schema SALAD |
I can not merge this into |
But we said to merge it into the codegen branch if I remember correctly. Also because it requires Schema SALAD 1.3, which is not already out afaik |
In any case, probably the first PR that we should consider is common-workflow-language/schema_salad#672, as this one heavily depends on it |
Yep, time to make a post- |
fae9a67
to
9a5e721
Compare
e91af6a
to
8bb51c5
Compare
@mr-c I changed base branch to
|
also run the tests against cwltool
This commit introduces a `CWLObjectType` named union to represent a valid CWL object. Using a more precise union type instead of `Any` allows for a smarter parsing from SALAD auto-generated parsers. In particular, `CWLObjectType` is used to define the type of the `default` directive in CWL `InputParameter` and `WorkflowStepInput` fields. Plus, a `CWLInputFile` type is introduced to represent a CWL jobfiles as `map<string, CWLObjectType>`.
CWL parsers should not follow `format` links.
Sure! |
8bb51c5
to
92c44c7
Compare
This commit introduces a
CWLObjectType
named union to represent a valid CWL object. Using a more precise union type instead ofAny
allows for a smarter parsing from SALAD auto-generated parsers. In particular,CWLObjectType
is used to define the type of thedefault
directive in CWLInputParameter
andWorkflowStepInput
fields. Plus, aCWLInputFile
type is introduced to represent a CWL jobfiles asmap<string, CWLObjectType>
.This PR depends on common-workflow-language/schema_salad#672.